package com.macro.pojos.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.macro.pojos.pojo.UiGoodsSkuStock;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

@Data
@ApiModel("商品添加所需参数")
public class UiGoodsAddDto {


    /**
     * 品牌id
     */
    @ApiModelProperty(value = "品牌id")
    @TableField("brand_id")
    private Integer brandId;

    /**
     * 商品分类id
     */
    @ApiModelProperty(value = "商品分类id")
    @TableField("category_id")
    private Integer categoryId;

    /**
     * 商品副标题
     */
    @ApiModelProperty(value = "商品副标题")
    @TableField("goods_title")
    private String goodsTitle;

    /**
     * 商品名称
     */
    @ApiModelProperty(value = "商品名称")
    @TableField("goods_name")
    private String goodsName;

    /**
     * 商品图片
     */
    @ApiModelProperty(value = "商品图片")
    @TableField("goods_picture")
    private String goodsPicture;

    /**
     * 商品货号
     */
    @ApiModelProperty(value = "商品货号")
    @TableField("goods_sn")
    private String goodsSn;

    /**
     * 删除状态：0->未删除；1->已删除
     */
    @ApiModelProperty(value = "删除状态：0->未删除；1->已删除")
    @TableField("delete_status")
    private Integer deleteStatus;

    /**
     * 上架状态：0->下架；1->上架
     */
    @ApiModelProperty(value = "上架状态：0->下架；1->上架")
    @TableField("publish_status")
    private Integer publishStatus;

    /**
     * 新品状态:0->不是新品；1->新品
     */
    @ApiModelProperty(value = "新品状态:0->不是新品；1->新品")
    @TableField("new_status")
    private Integer newStatus;

    /**
     * 推荐状态；0->不推荐；1->推荐
     */
    @ApiModelProperty(value = "推荐状态；0->不推荐；1->推荐")
    @TableField("recommand_status")
    private Integer recommandStatus;

    /**
     * 审核状态：0->未审核；1->审核通过
     */
    @ApiModelProperty(value = "审核状态：0->未审核；1->审核通过")
    @TableField("verify_status")
    private Integer verifyStatus;

    /**
     * 排序
     */
    @ApiModelProperty(value = "排序")
    private Integer sort;

    /**
     * 销量
     */
    @ApiModelProperty(value = "销量")
    @TableField("goods_sale_num")
    private Integer goodsSaleNum;

    /**
     * 商品价格
     */
    @ApiModelProperty(value = "商品价格")
    @TableField("goods_price")
    private java.math.BigDecimal goodsPrice;

    /**
     * 赠送的成长值
     */
    @ApiModelProperty(value = "赠送的成长值")
    @TableField("gift_growth")
    private Integer giftGrowth;

    /**
     * 赠送的积分
     */
    @ApiModelProperty(value = "赠送的积分")
    @TableField("gift_point")
    private Integer giftPoint;

    /**
     * 积分购买限制
     */
    @ApiModelProperty(value = "积分购买限制")
    private Integer buyPointLimit;

    /**
     * 商品介绍
     */
    @ApiModelProperty(value = "商品介绍")
    private String goodsIntroduce;

    /**
     * 市场价
     */
    @ApiModelProperty(value = "市场价")
    private java.math.BigDecimal originalPrice;

    private List<UiGoodsSkuStock> skuStocks;

    /**
     * 计量单位
     */
    @ApiModelProperty(value = "计量单位")
    private String unit;

    /**
     * 商品重量，默认为克
     */
    @ApiModelProperty(value = "商品重量，默认为克")
    private java.math.BigDecimal weight;

    /**
     * 是否为预告商品：0->不是；1->是
     */
    @ApiModelProperty(value = "是否为预告商品：0->不是；1->是")
    private Integer previewStatus;

    /**
     * 服务保证：1->无忧退货；2->快速退款；3->免费包邮
     */
    @ApiModelProperty(value = "服务保证：1->无忧退货；2->快速退款；3->免费包邮")
    private String serviceIds;

    /**
     * 商品关键字
     */
    @ApiModelProperty(value = "商品关键字")
    private String keywords;

    /**
     * 商品备注
     */
    @ApiModelProperty(value = "商品备注")
    private String note;

    /**
     * 画册图片，连商品图片限制为5张，以逗号分割
     */
    @ApiModelProperty(value = "画册图片，连商品图片限制为5张，以逗号分割")
    private List<String> alumPictures;

    /**
     * 详细页标题
     */
    @ApiModelProperty(value = "详细页标题")
    private String detailTitle;

    /**
     * 详细页描述
     */
    @ApiModelProperty(value = "详细页描述")
    private String detaiDecription;

    /**
     * 产品详情网页内容详情
     */
    @ApiModelProperty(value = "产品详情网页内容详情")
    private String detailPcHtml;

    /**
     * 产品移动端网页内容详情
     */
    @ApiModelProperty(value = "产品移动端网页内容详情")
    private String detailMobileHtml;

    /**
     * 促销开始时间
     */
    @ApiModelProperty(value = "促销开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private java.util.Date promotionStartTime;

    /**
     * 促销结束时间
     */
    @ApiModelProperty(value = "促销结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private java.util.Date promotionEndTime;

    /**
     * 促销价格
     */
    @ApiModelProperty(value = "促销价格")
    private java.math.BigDecimal promotionPrice;

    /**
     * 促销类型：0->无优惠;1->使用特惠促销；2->使用会员价；3->阶梯价格；4->满减价格
     */
    @ApiModelProperty(value = "促销类型：0->无优惠;1->使用特惠促销；2->使用会员价；3->阶梯价格；4->满减价格")
    private Integer promotionType;

    private java.math.BigDecimal memberPrice1;

    private java.math.BigDecimal memberPrice2;

    private java.math.BigDecimal memberPrice3;


    private List<UiGoodsLadderDto> ladderDtos;

    private List<UiGoodsFullReductionDto> fullReductionDtoList;

    private Long goodsAttributeId;

    private String value;

    private int[] subIds;
    private int[] preIds;


    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private java.util.Date createdTime;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private java.util.Date updatedTime;

    /**
     * 删除 1是 0否
     */
    @ApiModelProperty(value = "删除 1是 0否")
    private Integer isDeleted;


}
